1. Field of the Invention
The present invention relates to a traveling apparatus suitable for use in, for example, a two-wheeled traveling vehicle on which a man rides and to a method for controlling thereof; specifically, relates to the apparatus and method in which charging with regenerative energy that is, for example, generated when decelerating or traveling a downward slope is efficiently performed to obtain excellent traveling.
2. Description of the Related Art
For example, a two-wheeled traveling vehicle on which a man rides has been proposed (for example, refer to a patent reference 1).
Further, in electric vehicles, there is one which charges with regenerative energy (for example, refer to a patent reference 2).
However, since a switching control is performed in the above described technology using signals, for example, from an accelerator and a brake when charging with regenerative energy is performed, this technology cannot be applied to a system without an accelerator and a brake.
[Patent reference 1] U.S. Pat. No. 6288505 Specification
[Patent reference 2] Japanese Published Patent Application No. 2000-253503
For example, the applicant of the present invention has previously proposed a traveling apparatus described hereunder (Japanese Patent Application No. 2003-168224) as a two-wheeled traveling vehicle on which a man rides.
First, FIG. 1 is a perspective view showing an external appearance of an example of a coaxial two-wheeled vehicle which has been proposed by the applicant of the present invention. A pair of wheels 3 (a right wheel 3R and a left wheel 3L) is fixed to both ends of an axle 2 in the coaxial two-wheeled vehicle 1 shown in FIG. 1. The wheel 3 is formed of a rubber material having flexibility, and the inside thereof is filled with air, nitrogen gas or the like. With adjusting pressure of the gas to adjust the flexibility of the wheel 3, vibration of a body of the vehicle can be absorbed and vibration caused by an unevenness of a road surface or a shock caused by a level difference can be reduced.
Further, a base 4 is supported by the axle 2 under a board where, for example, a man stands, to be capable of making an inclined movement around the axle 2, and a chassis having an approximately rectangular parallelepiped shape in which a control unit described later on and the like are stored is joined to the base 4. Note that, in the following explanation, a midpoint of the axle 2 connecting both wheels is assumed to be the origin 0 of an X-Y-Z coordinate system; and it is defined that the direction which passes through the origin 0 and is parallel to a principal plane of the base 4 and also is orthogonal to the axle 2 is an X axis or a roll axis, the direction of the axle passing through the origin 0 is a Y axis or a pitch axis and the direction passing though the origin 0 which is orthogonal to the principal plane of the base 4 is a Z axis or a yaw axis. Further, it is defined that a forward direction of the coaxial two-wheeled vehicle 1 is a positive direction of the X axis, a left direction thereof is a positive direction of the Y axis and an upper direction thereof is a positive direction of the Z axis, respectively.
As shown in FIG. 2, motors 10 (10R and 10L) capable of rotating in forward and reverse directions are mounted on the base 4, and rotary encoders 11 (11R and 11L) for detecting a rotational position of the motors 10 are provided adjacently to the motors 10. In addition, reducers 12 (12R and 12L) including a gear or a timing belt are provided between the motors 10 and the wheels 3 so that a rotation of the motors 10 can be transmitted to the wheels 3 through the reducers 12 and a joint (not shown).
Furthermore, various other sensors than a gyroscopic sensor 13 for detecting angular velocities ωp and ωyaw around the pitch axis and the yaw axis of the base 4, such as an acceleration sensor 14 for detecting linear accelerations Ax, Ay and Az in the directions of X, Y and Z axes and for detecting angular accelerations αp, αr and αyaw around the pitch axis, the roll axis and the yaw axis, a pressure sensor 15 for detecting a load weight on the base 4 and the like are incorporated in the base 4.
Among the above sensors, the pressure sensors 15 are provided at four corners between a support table 4a and a movable table 4b constituting the board of the base 4 as shown in a plan view of FIG. 3A and a side view of FIG. 3B, so that the barycentric coordinate (Xg, Yg) of a load on the base 4 and also a load weight Wg thereof can be detected from sensor signals of those four pressure sensors 151, 152, 153 and 154.
Specifically, when the sensor signals of the pressure sensors 151 through 154 are PS1, PS2, PS3 and PS4, respectively, and also when its own weight of the base 4 applied to the pressure sensors 151 through 154 is W0 in a state with no load, the load weight Wg can be obtained as shown in the following formula (1).
[Numerical Expression 1]Wg=PS1+PS2+PS3+PS4−W0  (1)
Also, when the respective coordinates of the pressure sensors 151, 152, 153 and 154 are (Xps, Yps) (−Xps, Yps) (−Xps, −Yps) and (Xps, −Yps), the barycentric coordinate (Xg, Yg) can be obtained as shown in the following formula (2).
[Numerical Expression 2]
                    {                                                                              X                  g                                =                                                      X                    ps                                    *                                                                          ⁢                                                            (                                                                        W                          ⁢                                                                                                          ⁢                          1                                                -                                                  W                          ⁢                                                                                                          ⁢                          2                                                                    )                                        /                                          (                                                                        W                          ⁢                                                                                                          ⁢                          1                                                +                                                  W                          ⁢                                                                                                          ⁢                          2                                                                    )                                                                                                                                                                Y                  g                                =                                                      Y                    ps                                    *                                                            (                                                                        W                          ⁢                                                                                                          ⁢                          3                                                -                                                  W                          ⁢                                                                                                          ⁢                          4                                                                    )                                        /                                          (                                                                        W                          ⁢                                                                                                          ⁢                          3                                                +                                                  W                          ⁢                                                                                                          ⁢                          4                                                                    )                                                                                                                              (        2        )                        wherein                                                      {                                                                                                                                                W                        ⁢                                                                                                  ⁢                        1                                            =                                                                                                    (                                                                                          PS                                1                                                            +                                                              PS                                4                                                                                      )                                                    /                          2                                                -                                                  W                          14                                                                                                                                                                                                        W                        ⁢                                                                                                  ⁢                        2                                            =                                                                                                    (                                                                                          PS                                2                                                            +                                                              PS                                3                                                                                      )                                                    /                          2                                                -                                                  W                          23                                                                                                                                                                                                              W                  ⁢                                                                          ⁢                  3                                =                                                                            (                                                                        PS                          1                                                +                                                  PS                          2                                                                    )                                        /                    2                                    -                                      W                    12                                                                                                                                            W                  ⁢                                                                          ⁢                  4                                =                                                                            (                                                                        PS                          3                                                +                                                  PS                          4                                                                    )                                        /                    2                                    -                                      W                    34                                                                                                                      
In the formula (2), W14 denotes its own weight in a state with no load applied to the pressure sensors 151 and 154, W23 denotes its own weight applied to the pressure sensors 152 and 153 in the state with no load, W12 denotes its own weight applied to the pressure sensors 151 and 152 in the state with no load, and W34 denotes its own weight applied to the pressure sensors 153 and 154 in the state with no load.
Accordingly, since a load induced torque T1 caused by the load on the base 4 can be thus calculated using the pressure sensors 15, it becomes possible to maintain a balance on the base 4 to stabilize a posture when the moment of reaction is given to the motor 10.
Furthermore, a control unit 16 including a microcomputer is mounted on the lower chassis of the base 4, to which various sensor signals and detection signals are input. The control unit 16 performs control based on those input signals so as to generate a motor torque that makes a vehicle body move forward, move backward and turn while maintaining a pitch axis angle and a yaw axis angle of the base 4 at an appropriate value as described later on.
Further as shown in FIG. 4, the coaxial two-wheeled vehicle 1 has a structure in which a weight center M of the base 4 that is capable of making an inclined movement around the axle 2 can be positioned lower than the axle 2. Therefore, the barycentric position of the vehicle body is maintained at the most stable position even when not moving, and the coaxial two-wheeled vehicle 1 may not topple over easily. Note that, although in FIG. 4 a height of the upper surface of the base 4 is higher than the axle 2, the upper surface of the base 4 may be lower than the axle 2.
Hereupon, an explanation is made with respect to a concept for control to maintain a posture on the base 4. As shown in FIG. 5, when a motor torque Tm is controlled to generate the same moment as the load induced torque T1 caused by a load on the base 4 which is, for example, a man's weight, the base 4 is balanced like a seesaw with a center as a fulcrum thereof. A point corresponding to the fulcrum for maintaining the balance, that is, a point where the rotational moment around the axle 2 becomes zero is called a ZMP (Zero Moment Point). When the ZMP coincides with a ground-contacting point of the wheel 3 with a road surface, or when the ZMP is within a ground-contacting surface with the road surface, the balance is kept to maintain the posture on the base 4.
In the case where a man having a weight Wh rides on the coaxial two-wheeled vehicle 1, the weight center M of the base 4 inclines about the axle 2a as a center thereof in accordance with the man's inclined angle θ as shown in FIG. 6. At this time, an axle torque T0 to keep the balance of the axle 2 is expressed with the following formula (3), and the motor torque Tm for maintaining the posture is shown by T0/N, where a reduction ratio of the reducer 12 is N:1.
[Numerical Expression 3]T0=Wh* sin θ−Wm* sin θ  (3)
Thus, since the above described coaxial two-wheeled vehicle 1 has a structure in which the weight center M of the base 4 is positioned lower than the axle 2 as described above, only adding a difference between the moment by the man's weight Wh and the moment by the weight Wm of the base 4 as the axle torque T0 is needed as shown in the formula (3), so that the balance is maintained with a comparatively small motor torque.
Further, a dynamic model for maintaining a posture on the base 4 is explained in detail using an X-Z coordinate system shown in FIG. 7. Hereupon, to make the explanation simple, it is considered in FIG. 7 that one wheel 3 is provided. Further, the wheel 3, the base 4 and a man on the base 4 are respectively regarded as a link, and barycentric position coordinates thereof are (x0, z0), (x1, z1) and (x2, z2), respectively. Furthermore, the mass of each link is m0, m1 and m2, respectively, and inertial moments thereof are I0, I1 and I2.
Each kinetic momentum of the i-th link (i=0, 1, 2) around the defined point Ω (σ, φ) is expressed with the following formula (4), when the barycentric coordinate is (xi, zi). Here, one dot put on x and z in the formula (4) denotes a first-stage differentiation of x and z.
[Numerical Expression 4]Ii*ωi+mi*{dot over (X)}i(φ−zi)−mi*Żi(σ−xi)  (4)
Therefore, the moment of all links by the inertial force is expressed with the following formula (5). Hereupon, two dots put on x and z in the formula (5) denote a second-stage differentiation of x and z. Further, the moment of all links by the gravity is expressed with the following formula (6) when gravity acceleration is g.
[Numerical Expression 5]
                              ∑                      i            =            0                    n                ⁢                                  ⁢                  (                                    Ii              ⁢                                                          *                                                          ⁢                              ω                .                            ⁢              i                        +                          mi              ⁢                                                          *                                                          ⁢                              x                ¨                            ⁢                              i                ⁡                                  (                                      φ                    -                    zi                                    )                                                      -                          mi              ⁢                                                          *                                                          ⁢                              z                ¨                            ⁢                              i                ⁡                                  (                                      σ                    -                    xi                                    )                                                              )                                    (        5        )                                          ∑                      i            =            0                    n                ⁢                                  ⁢                              mi            ⁡                          (                              σ                -                xi                            )                                ⁢          g                                    (        6        )            
As shown in a formula (7), the moment MΩ around the point Ω (σ, φ) is given by a sum of the moment by the inertial force and the moment by the gravity.
[Numerical Expression 6]
                              M          ⁢                                          ⁢          Ω                =                                            ∑                              i                =                0                            n                        ⁢                                                  ⁢                          Ii              ⁢                                                          *                                                          ⁢                              ω                .                            ⁢              i                                +                                    ∑                              i                =                0                            n                        ⁢                                                  ⁢                          mi              ⁡                              (                                                                            x                      ¨                                        ⁢                                          i                      ⁡                                              (                                                  φ                          -                          zi                                                )                                                                              -                                      mi                    ⁢                                                                                  *                                                                                  ⁢                                          z                      ¨                                        ⁢                                          i                      ⁡                                              (                                                  σ                          -                          xi                                                )                                                                                            )                                              +                                    ∑                              i                =                0                            n                        ⁢                                                  ⁢                                          mi                ⁡                                  (                                      σ                    -                    xi                                    )                                            ⁢              g                                                          (        7        )            
With excluding the moment by the gravity for the wheel 3 having the mass m0, the above described moment MΩ becomes the moment Ma around the axle 2 by taking the point Ω (σ, φ) as the origin. This moment Ma around the axle 2 is expressed with the following formula (8).
[Numerical Expression 7]
                    Ma        =                                            ∑                              i                =                0                            n                        ⁢                                                  ⁢                          Ii              ⁢                                                          *                                                          ⁢                              ω                .                            ⁢              i                                +                                    ∑                              i                =                0                            n                        ⁢                                                  ⁢                          mi              ⁡                              (                                                                            z                      ¨                                        ⁢                    i                    ⁢                                                                                  *                                                                                  ⁢                    xi                                    -                                                            x                      ¨                                        ⁢                    i                    ⁢                                                                                  *                                                                                  ⁢                    zi                                                  )                                              -                                    ∑                              i                =                0                            n                        ⁢                                                  ⁢                          mi              ⁢                                                          *                                                          ⁢              xi              ⁢                                                          *                                                          ⁢              g                                                          (        8        )            
To express the above described moment MΩ using the moment Ma, it is given by the following formula (9) when X0=0, that is, when the barycentric position of the wheel 3 is on the axle 2.
[Numerical Expression 8]
                              M          ⁢                                          ⁢          Ω                =                  Ma          -                                    ∑                              i                =                0                            n                        ⁢                                                  ⁢                                          mi                ⁡                                  (                                                                                    z                        ¨                                            ⁢                      i                                        -                    g                                    )                                            ⁢              σ                                +                                    ∑                              i                =                0                            n                        ⁢                                                  ⁢                          mi              ⁢                                                          *                                                          ⁢                              x                ¨                            ⁢              i              ⁢                                                          *                                                          ⁢              ψ                                                          (        9        )            
Here, the ZMP is defined as a point on a floor surface where the moment MΩ is zero. Then, if a height of the axle 2 is h and the coordinate of the ZMP is (σzmp, −h) to be substituted for the formula (7), the formula becomes the following formula (10). The ZMP can be expressed with a link position, an acceleration and the mass by solving the formula (10) with respect to σzmp.
[Numerical Expression 9]
                    O        =                                            ∑                              i                =                0                            n                        ⁢                                                  ⁢                          Ii              ⁢                                                          *                                                          ⁢                              ω                .                            ⁢              i                                +                                    ∑                              i                =                0                            n                        ⁢                                                  ⁢                          mi              ⁡                              (                                                                            -                                              x                        ¨                                                              ⁢                                          i                      ⁡                                              (                                                  h                          +                          zi                                                )                                                                              -                                                            z                      ¨                                        ⁢                                          i                      ⁡                                              (                                                                              σ                            ⁢                                                                                                                  ⁢                            zmp                                                    -                          xi                                                )                                                                                            )                                              +                                    ∑                              i                =                0                            n                        ⁢                                                  ⁢                                          mi                ⁡                                  (                                                            σ                      ⁢                                                                                          ⁢                      zmp                                        -                    xi                                    )                                            ⁢              g                                                          (        10        )            
Moreover, if the coordinate (σzmp, −h) of the ZMP is substituted for the above described formula (9), the following formula (11) is obtained. The formula (11) expresses a balanced moment around the axle 2.
[Numerical Expression 10]
                    O        =                  Ma          -                                    ∑                              i                =                0                            n                        ⁢                                                  ⁢                                          mi                ⁡                                  (                                                                                    z                        ¨                                            ⁢                      i                                        -                    g                                    )                                            ⁢              σ              ⁢                                                          ⁢              zmp                                -                                    ∑                              i                =                0                            n                        ⁢                                                  ⁢                          mi              ⁢                                                          *                                                          ⁢                              x                ¨                            ⁢              i              ⁢                                                          *                                                          ⁢              h                                                          (        11        )            
Hereupon, a force which acts on the ZMP is illustrated in FIG. 8. In FIG. 8, FN denotes a floor reactive force, FT denotes a rotational friction force and F denotes a composite vector of the FN and the FT. In addition, though actually distributed over the whole ground-contacting surface of the wheel 3, the floor reactive force FN is expressed in FIG. 8 as the one concentrated on the ZMP. Based on this diagram, a formula expressing the balanced moment around the axle 2 is obtained as the following formula (12).
[Numerical Expression 11]FN*σzmp+FT*h+τ0=0  (12)
Here, the formula (12) becomes the same as the above described formula (11), when the following formulas (13) through (15) are substituted.
[Numerical Expression 12]T0=Ma  (13)
                    FN        =                  -                                    ∑                              i                =                0                            n                        ⁢                                                  ⁢                          mi              ⁡                              (                                                                            z                      ¨                                        ⁢                    i                                    -                  g                                )                                                                        (        14        )                                FT        =                  -                                    ∑                              i                =                0                            n                        ⁢                                                  ⁢                          mi              ⁢                                                          *                                                          ⁢                              x                ¨                            ⁢              i                                                          (        15        )            
In order to stabilize the posture on the base 4, it is only required that the σzmp becomes 0 in the formula (12). In other words, the posture can be maintained if the axle torque T0=−FT*h is obtained. Therefore, with controlling state variables shown in the following formula (16) that satisfies T0=FT=0, the posture can be stabilized.
[Numerical Expression 13](xi, {dot over (x)}i, {umlaut over (x)}i)=(0, 0, 0)  (16)
Hereupon, x0 and x1 can be determined uniquely in accordance with a mechanical structure; however, m2, I2, x2 and z2 are variable, because those values belong to a man. The moment Mt on the base 4 with those m2, I2, x2 and z2 is given by the following formula (17). Here, the base 4 is assumed to be kept horizontal as shown in FIG. 9.
[Numerical Expression 14]Mt=I2*{dot over (ω)}2−m2*{umlaut over (Z)}2*x2−m2*{umlaut over (x)}2*(z2−L)−m2*x2*g  (17)
Hereupon, since the angular velocity ω2 is small enough when the load is a man, ω2≈0 is approximated, and the moment Mt becomes zero when x2 and a second-stage differentiation value thereof are made to be zero in a formula (18). Making x2 and the second-stage differentiation value thereof become zero can be considered equal to controlling x0 and x1 so that the load induced torque T1 on the base 4 become zero. Further, the moment Mt by the load induced torque T1 is equivalent to a force F2 acting to a point of action (xf, L) on the base 4. Therefore, if x0 and x1 to make the xf zero is given, T1 becomes zero and the condition to keep the posture stable can be satisfied.
When a signal of the gyroscopic sensor on the base 4 is controlled through feed-back to maintain x0=x1 by giving the motor torque Tm as shown in FIG. 9, the posture can be kept stable by controlling the motor torque Tm to become xf=x0.
Specifically, when an error Ef is Ef=xf−x0, in case of Ef>0 the motor torque Tm is negative to displace the x0 in the positive direction to make the vehicle move forward and in case of Ef<0 the motor torque Tm is positive to displace the x0 in the negative direction to make the vehicle move backward, so that the error Ef can be reduced to zero. In other words, when A0 is a positive constant and the motor torque Tm=−A0*Ef is given to reduce the Ef to zero, the posture can be kept stable.
In practice, in the case where the base 4 inclines by an angle of θ0 around the pitch axis, since the load induced torque T1 (=Mτ×L) is actually generated by a man having a weight M, as shown in FIG. 10, by controlling the motor torque Tm to give the axle torque T0 in the opposite direction to the load induced torque T1 the ZMP can be made to coincide with the ground-contacting contacting point of the wheel 3 to keep the posture stable.
Hereupon, when a man rides on the base 4, a force applied to soles is fluctuated usually in a cycle of 1 to 2 seconds in order to maintain the posture though there is an individual difference, and therefore, the load induced torque T1 by the man's weight changes accordingly. Therefore, it is necessary to add to the motor 10 such torque that can maintain a balance in real time so as to keep an angle of the base 4 constant with respect to a load fluctuation.
Then, in order to balance out such load fluctuation in real time, the above described coaxial two-wheeled vehicle 1 has a control mechanism shown in FIG. 11 inside the control unit 16. In FIG. 11, difference between a present base angel θ0 detected by the gyroscopic sensor 13 and by the acceleration sensor 14, and a base angle command θref that is a postural command is obtained in a subtractor 20, and the difference is supplied to a postural controller 21. The postural controller 21 computes a motor torque current value Tgyr [A] from the base angle command θref and from the present base angle θ0.
Further, in a regulator 22, the load induced torque T1 is estimated using sensor signals PS1, PS2, PS3 and PS4 from the pressure sensors 15, and to balance out the load induced torque T1, an estimated load induced torque current value T1′/Km [A] is computed. Here, Km is a motor constant [N m/A]. When the barycentric coordinate of the load is (Xg, Yg) and the load weight is Wg, the estimated load induced torque T1′ is expressed as the following formula (18).
[Numerical Expression 15]T1′=Wg*Xg/2  (18)
Then, a difference between the motor torque current value Tgyr and the estimated load induced torque current value T1′/Km is obtained in a subtractor 23, and the difference is supplied to a motor 24 as motor current I[A]. The motor 24 generates a motor torque Tm from the rotation using the motor current I, and the motor torque Tm and the load induced torque T1 are added in an adder 25 to be transmitted to a base 26.
Thus, the base angle can be kept fixed against the load fluctuation when being stopped by adding to the motor 24 the motor torque Tm to balance out the load induced torque T1.
With the control mechanism described above, a postural stabilization control can be performed; however, in order to travel in this state, a control mechanism for traveling is further required. Therefore, the above described coaxial two-wheeled vehicle 1 actually has a control mechanism of two-wheeled structure in which a motor torque for postural stabilization control and a motor torque for traveling control are obtained independently.
A physical model for such a control mechanism of two-wheeled structure is shown in FIG. 12. Note that, to make the explanation simple, it is considered in FIG. 12 that only one wheel 3 is provided. As shown in FIG. 12, various sensors such as the gyroscopic sensor 13, the acceleration sensor 14, the pressure sensor 15 and the like are incorporated in the base 4, under which a motor stator 30, a rotary encoder 31 and a motor rotor 32 are provided, and the rotation of the motor rotor 32 is transmitted to the wheel 3 through a reducer 33 and a joint 34.
A postural controller/regulator 40 computes the above described motor torque Tgyr and estimated load induced torque T1′ from the base angle command θref that is a postural command, the present base angle θ0 detected by the gyroscopic sensor 13 and the acceleration sensor 14, and also the sensor signals PS1, PS2, PS3 and PS4 of the pressure sensors 15, Further, a motor controller 41 computes a motor torque for traveling from the rotational position command Pref of the motor rotor 32 which is a travel command and from the present rotational position θr of the motor rotor 32 detected by the rotary encoder 31.
Then, the motor torque Tgyr, the estimated load induced torque T1′ and also the motor torque for traveling are added in an adder 42, and the added value is supplied to the motor rotor 32.
Here, the above described base angle command θref is a target value of the base angle which is set in accordance with an acceleration Ax in the X-axis direction so that a rider can ride on stably. Specifically, the target value θref is respectively set so that the base 4 becomes horizontal when the X-axis acceleration Ax is zero; the base 4 is inclined forward when the X-axis acceleration Ax is positive; and the base 4 is inclined backward when the X-axis acceleration Ax is negative.
Then, with for example the positive X-axis acceleration Ax, the rider can keep his/her posture stable when the base 4 is inclined so that the ZMP can be positioned in a direction of a composite vector of an inertial force and a gravitational force as shown in FIG. 13. In addition, the base angle command θref changes in proportion to the X-axis acceleration Ax.
A block diagram of the control mechanism is shown in FIG. 14. A difference between the base angle command θref that is a postural command and the present base angle θ0 detected by the gyroscopic sensor 13 (and the acceleration sensor 14) is obtained in a subtractor 50, and the difference is supplied to a postural controller 51. The postural controller 51 computes the motor torque Tgyr from the base angle command θref and from the present base angle θ0, and supplies the motor torque Tgyr to an adder 54.
On the other hand, a difference between the rotational position command Pref of the motor rotor 57 which is a travel command and a present rotational position θr of a motor rotor 57 detected by a rotary encoder 58 is obtained in a subtractor 52, and the difference is supplied to a motor controller 53. The motor controller 53 computes the motor torque for traveling from the rotational position command Pref and from the present rotational position θr, and supplies the motor torque to the adder 54.
Moreover, when the load induced torque T1 is applied to the base 4, the sensor signals PS1, PS2, PS3 and PS4 of the pressure sensors 15 are supplied to a regulator 55, and the regulator 55 computes the above described estimated load induced torque T1′ based on those sensor signals.
The motor torque Tgyr from the postural controller 51 and the motor torque from the motor controller 53 are added in the adder 54, and the estimated load induced torque T1′ is subtracted from the added value in a subtractor 56. The result finally becomes the motor torque Tm and is supplied to the motor rotor 57. A reactive force of the motor torque Tm and the load induced torque T1 are added in an adder 59, and the added value is given to a motor stator/base 60.
A rotational control is performed on the motor rotor 57 in accordance with the motor torque Tm. The rotational position θr of the motor rotor 57 is converted into 1/N by a reducer 61 having a reduction ratio of N:1 to be transmitted to the wheel 3. Specifically, a rotational position θw of the wheel 3 is 1/N of the rotational position θr of the motor rotor 57. The rotary encoder 58 detects the rotational position θr of the motor rotor 57, and the detected signal is supplied to the subtractor 52.
On the other hand, although the added value of the reactive force of the motor torque Tm and the load induced torque T1 is applied to the motor stator/base 60 as described above, an inclined movement of the motor stator/base 60 can be prevented, because both of them are mutually canceled out.
FIG. 15 shows the processing of the block diagram shown in FIG. 14 as a mathematical model using a Laplace operator. As described above, the difference between the base angle command θref and the present base angle θ0 is given to the postural controller 51, and the difference between the rotational position command Pref of the motor rotor 57 and the present rotational position θr is given to the motor controller 53. In the postural controller 51 and motor controller 53, each motor torque is computed by a feed-back control which performs, for example, a PID (proportional, integral and differential) operation.
Specifically, Kp0 and Kp1 become proportional gains, Ki0 and Ki1 become integral gains, and Kd0 and Kd1 become differential gains. Depending on those control gains, following characteristics of a motor which responds to the postural command θref and to the travel command Pref may vary. For example, when the proportional gains Kp0 and Kp1 are made small, the motor rotor 57 moves with a slow delay in following, and when the proportional gains Kp0 and Kp1 are made large, the motor rotor 57 moves at high velocity in following. Thus, by changing the control gain, the amount of difference between the postural command θref and the travel command Pref, and an actual movement and response time can be regulated.
Moreover, the motor torque Tm obtained by subtracting the estimated load induced torque T1′ from the added value of the motor torque from the posture controller 51 and the motor torque from the motor controller 53 is supplied to the motor rotor 57 to rotate only by the rotational angle θr. Here, Jr is inertia of the motor rotor 57 and Dr is a viscosity resistance (damper coefficient) of the motor rotor 57.
On the other hand, although the added value of the reactive force of the motor torque Tm and the load induced torque T1 is applied to the motor stator/base 60 as described above, the inclined movement is prevented by mutually canceled out. Here, J is inertia of the motor stator/base 60 and D is a viscosity resistance (damper coefficient) of the motor stator/base 60.
FIG. 16, for example, shows in detail the mathematical model shown in FIG. 15. As shown in FIG. 16, a postural controller 70 performs the PID control on the difference between the base angle command θref and the present base angle θ0 to generate the motor torque Tgyr for postural control, and the motor controller 71 performs the PID control on the difference between the rotational position command Pref of the motor 10 and the present rotational position θr to generate the motor torque for traveling control.
Further, a regulator 72 generates the estimated load induced torque T1′ from the sensor signal of the pressure sensor 15, The respective torque is added in an adder 73, and the obtained motor torque Tm is supplied to the motor 10. The motor 10 is driven to rotate by the motor torque Tm, and the rotation is converted to 1/16 by a reducer 74 having a reduction ratio of 16:1 to be transmitted to the wheel 3.
Referring to FIGS. 12 through 16, the explanation is made in which only one wheel 3 is considered to be provided, to make the explanation simple; however, actually the coaxial two-wheeled vehicle 1 has the right and left wheels of 3R and 3L, and the motor controller 53 is provided independently to the right and the left, while the postural controller 51 shown, for example, in FIG. 14 is used in common by the right and left wheels of 3R and 3L.
A block diagram of a control mechanism in this case is shown in FIG. 17. A sensor value ωp from the gyroscopic sensor 13 is sent to an angle calculator 82 through a band-pass filter (BPF) 80 having a passing band of, for example, 0.1 through 50 Hz, and a sensor value αp from the acceleration sensor 14 is sent to the angle calculator 82 through a low-pass filter (LPF) 81 having a cut-off frequency of, for example, 0.1 Hz. In the angle calculator 82, the present base angle θ0 is computed based on those sensor values.
Further, difference between the base angle command θref that is the postural command and the present base angle θ0 is obtained in a subtractor 83, and the difference is supplied to a postural controller 84. The postural controller 84 computes the above described motor torque Tgyr from the base angle command θref and from the present base angle θ0.
On the other hand, difference between a rotational position command Prefr of a motor rotor 92R that is a travel command for the right wheel 3R and a present rotational position θr of the motor rotor 92R detected by a rotary encoder 93R is obtained in a subtractor 85R, and the difference is supplied to a position proportional controller 86R. The position proportional controller 86R performs a position proportional (P) control on the difference, and a result of the proportional control is supplied to a subtractor 87R.
Moreover, a differentiation unit 88R differentiates the rotational position θr of the motor rotor 92R supplied from the rotary encoder 93R, and the result is supplied to the subtractor 87R. Then, difference between the result of the proportional control from the position proportional controller 86R and the result of the differentiation from differentiation unit 88R is obtained in the subtractor 87R, and the difference is supplied to a velocity proportional controller 89R. The velocity proportional controller 89R performs a velocity proportional (P) control on the difference, and the result is supplied to an adder 90R.
The result of the proportional control, the motor torque Tgyr, and the estimated load induced torque T1′ obtained from the sensor signals PS1, PS2, PS3 and PS4 of the pressure sensors 15 in a regulator 94 are added in the adder 90R, and the added value is supplied to a current control amplifier 91R. The current control amplifier 91R generates motor current based on the added value to drive the motor rotor 92R. The rotational position of the motor rotor 92R is supplied to the differentiation unit 88R as well as the subtractor 85R. Since the same explanation will be applied similarly to the left wheel 3L, an explanation thereof is omitted.
Thus, the above described coaxial two-wheeled vehicle 1 has a common control mechanism for postural stabilization control to the right and left wheels 3R and 3L and has an control mechanism for traveling control to the right and left wheels, respectively, and since the control is performed independently, both the postural stabilization control and the traveling control can be stably performed.
Hereinafter, velocity control in the above described coaxial two-wheeled vehicle 1 will be explained.
As described above, the barycentric coordinate (Xg, Yg) of the load on the base 4 and the load weight Wg are detected from the respective sensor signals PS1, PS2, PS3 and PS4 of the four pressure sensors 151 through 154 provided at four corners of the base 4 in the above coaxial two-wheeled vehicle 1 to obtain the load induced torque T1; and this barycentric coordinate (Xg, Yg) is further used as a command to control a travel direction and velocity. Specifically, when the load weight Wg is larger than a predetermined value, a velocity command Vx is changed based on the X-coordinate Xg of the barycentric position.
FIG. 18 shows the above aspect. Here, the range from X3 to X1 in FIG. 18 is an area in which the coaxial two-wheeled vehicle 1 is halted, and travel velocity is commanded to be zero within the range. It is preferable that the range be within an X-coordinate range of ground-contacting surface of the wheel 3 with a road surface. In this case, for example, when the load weight Wg is large or when gas pressure of the wheel 3 is low, a ground-contacting area of the wheel 3 with the road surface becomes large and therefore, the range in which the vehicle is halted also becomes large. Providing such range in which the vehicle is halted (dead zone) prevents the vehicle body from moving forward and moving backward due to a slight movement of the barycenter which is not intended by a rider.
When the X-coordinate becomes larger than X1, velocity is commanded to increase in accordance with the value of X-coordinate until reaching the maximum forward velocity SfMAX. Moreover, when the value of X-coordinate becomes larger than X2, the velocity is reduced to stop forcibly until the posture is stabilized again within the stop area. Thus, providing the area for forcibly reducing the velocity to stop can secure a safety of the rider when traveling at the maximum velocity.
Similarly, when the value of X-coordinate becomes smaller than X3, the commanded velocity increases in accordance with the value of X-coordinate until reaching the maximum backward velocity SbMAX. In addition, it is preferable that the maximum backward velocity SbMAX be less than the maximum forward velocity SfMAX. Moreover, when the value of X-coordinate becomes X4 or less, the velocity is forcibly reduced to stop until the posture is stabilized again within the stop area.
When the X-coordinate is in the range from X1 to X2 or from X3 to X4, a rotational position command Prefr of the motor 10R and a rotational position command Pref1 of the motor 10L are generated using, for example, the following formula (19) in accordance with the X-coordinate Xg. Hereupon, G0 in the formula (19) is a constant positive gain and can be variable in accordance with the load weight Wg, for example.
[Numerical Expression 16]Prefr=Pref1=Xg*G0  (19)
Further, when a velocity command is Vx0 at time t=0 and the velocity command is Vx1 at time t=t1, it is preferable that acceleration be continuously performed to travel so as not to generate a mechanical resonant vibration. In this case, when the time before reaching Vx1 is Δt, a travel velocity command Vref(t) at a time t (0≦t≦t1) can be computed by the following formula (20), for example.
[Numerical Expression 17]Vref(t)=(¼)t4−(⅔)Δt*t3+(½) Δt2*t2+Vx0  (20)
At this time, the rotational position command Pref(t) of the motor 10 becomes an integrated value of the travel velocity command Vref(t) in the formula (20) and is obtained with a quintic function as shown in the following formula (21). Here, Pref0 in the formula (21) is the rotational position command at the time t=0.
[Numerical Expression 18]
                                                                        Pref                ⁡                                  (                  t                  )                                            =                                                ∫                                                            Vref                      ⁡                                              (                        t                        )                                                              ⁢                                          ⅆ                      t                                                                      +                                  Pref                  0                                                                                                        =                                                                    (                                          1                      /                      20                                        )                                    ⁢                                      t                    5                                                  -                                                      (                                          2                      /                      12                                        )                                    ⁢                  Δt                  ⁢                                                                          *                                                                          ⁢                                      t                    4                                                  +                                                      (                                          1                      /                      6                                        )                                    ⁢                                      Δt                    2                                    *                                                                          ⁢                                      t                    3                                                  +                                  Pref                  0                                                                                        (        21        )            
Moreover, not only moving forward and moving backward but also a turn velocity command Vr can be changed as shown, for example, in FIG. 19 based on the Y-coordinate Yg of the barycentric position when the load weight Wg is a predetermined value or more. Here, the range from −Y1 to Y1 in FIG. 19 is a stop area, and a commanded turn velocity is zero within the range.
In addition, the stop area can arbitrarily be set in the vicinity of the origin O. Thus, providing the stop area (dead zone), the vehicle can be prevented from making a turn due to a slight shift of the barycenter which is not intended by a rider. When the value of Y-coordinate becomes more than Y1, the commanded turn velocity increases in accordance with the value of Y-coordinate until reaching a right-turn maximum velocity CWMAX. Similarly, when the value of Y-coordinate becomes less than −Y1, the commanded turn velocity increases in accordance with the value of Y-coordinate until reaching a left-turn maximum velocity CCWMAX.
When the value of Y-coordinate is Y1 or more or −Y1 or less, the rotational position command Rrefr of the motor 10R and the rotational position command Rref1 of the motor 10L are generated in accordance with the Y-coordinate Yg. When a travel velocity is zero, the rotational position command Rrefr of the motor 10R and the rotational position command Rref1 of the motor 10L become the opposite phase command as shown in the following formula (22), for example. Hereupon, G1 is a positive constant gain in the formula (22) and can be made variable in accordance with the load weight Wg, for example.
[Numerical Expression 19]Rrefr=−Rref1=Yg* G1  (22)
On the other hand, when the travel velocity is not zero, the rotational position command Rrefr of the motor 10R and the rotational position command Rref1 of the motor 10L become the same phase command as shown in the following formulas (23) and (24), for example. Here, G2 is a positive constant gain in the formulas (23) and (24), and can be made variable in accordance with the load weight Wg, for example.
[Numerical Expression 20]Rrefr=Prefr+Yg*G2  (23)Rref1=Pref1 −Yg*G2  (24)
Hereupon, when traveling on a road surface which has an unevenness such as a road surface of an unleveled ground or on an inclined road surface, it becomes difficult to travel in the target direction given by the rotational position commands to the right and left motors 10R and 10L, and there is a possibility that a difference arises between the target direction and an actual travel direction. Moreover, when effective diameters of the wheels 3 become unequal due to a difference in gas pressure of the right and left wheels 3R and 3L, there is a possibility that the similar discrepancy arises between the target direction and the actual travel direction.
Then, in the above described coaxial two-wheeled vehicle 1, an actual travel direction is detected by the gyroscopic sensor 13 which detects the angular velocity ωyaw around the yaw axis and each rotational velocity of the right and left motors 10R and 10L is independently controlled, so that discrepancy between the target direction and the actual travel direction can be corrected.
An example shown in FIG. 20 is explained in which the effective diameter of the left wheel 3L is shorter than that of the right wheel 3R and ωyaw1 [rad/sec] is detected as a gyroscopic sensor signal around the yaw axis when moving forward. In such case, when rotational velocity commands Vrefr and Vref1 are added to get the average Vref0, the vehicle can move forward by correcting the rotational velocity commands Vrefr and Vref1 respectively supplied to the right and left motors 10R and 10L as shown in the following formulas (25) and (26). Hereupon, K0 is a positive constant in the formulas (25) and (26).
[Numerical Expression 21]Vrefr=Vref0−K0*ωyaw1  (25)Vref1=Vref0+K0*ωyaw1  (26)
Further, when Dref [rad/sec] is given as the target direction, the rotational velocity commands Vrefr and Vref1 are respectively supplied to the right and left wheels as shown in the following formulas (27) and (28).
[Numerical Expression 22]Vrefr=Vref0−K0(Dref−ωyaw1)  (27)Vref1=Vref0+K0(Dref−ωyaw1)  (28)
The rotational velocity commands Vrefr and Vref1 obtained in this manner are respectively converted into the rotational position commands Prefr and Pref1 of the wheels by the following formulas (29) and (30). Here, in the formulas (29) and (30), k is an integer showing the number of sampling and Pref(k) indicates a rotational position command in k-th sampling.
[Numerical Expression 23]Rrefr(k)=Prefr(k)+Vref0  (29)Rref1(k)=Pref1(k)+Vref0  (30)
Similarly, there is a possibility that a discrepancy arises in turn velocity due to a difference in gas pressure between the right and left wheels 3R and 3L, a difference in a road surface condition or the like, when making a turn. In this case also, an actual turn velocity is detected by the gyroscopic sensor 13 which detects the angular velocity ωyaw around the yaw axis to control independently each rotational velocity of the right and left motors 10r and 10L, so that a discrepancy between the targeted turn velocity and an actual turn velocity can be corrected.
An example is explained in which the effective diameter of the left wheel 3L is shorter than that of the right wheel 3R and ωyaw2 [rad/sec] is detected as the gyroscopic sensor signal around the yaw axis, when making a turn. When differentiated signals of the rotational position command Rrefr of the right wheel 3R and the rotational position command Rref1 of the left wheel 3L are Vrefr and Vref1, respectively, a difference ωerr of the turn velocity is expressed in the following formula (31).
[Numerical Expression 24]ωerr=(Vref1−Vrefr)−ωyaw2  (31)
In this case, the vehicle can make a turn as intended by correcting the rotational position commands Vrefr and Vref1 supplied to the right and left motors 10R and 10L as shown in the following formulas (32) and (33). Here, G3 is a positive constant gain in the formulas (32) and (33) and can be made variable in accordance with the load weight Wg, for example.
[Numerical Expression 25]Rrefr=Prefr+Yg*G2−ωerr*G3  (32)Rref1=Pref1 −Yg*G2−ωerr*G3  (33)
Thus, in the above described coaxial two-wheeled vehicle 1, an actual travel direction and turn velocity are detected by the gyroscopic sensor 13 which detects the angular velocity ωyaw around the yaw axis to control independently each rotational velocity of the right and left motors 10R and 10L, so that the discrepancy between the target direction (turn velocity) and the travel direction (turn velocity) can be corrected.
The applicant of the present invention has previously proposed a traveling apparatus according to such coaxial two-wheeled vehicle as heretofore described.
Meanwhile, by providing in the above described mechanism a system including as energy source a rechargeable battery and a control unit for traveling by a motor, the motor consumes energy when the system accelerates and the motor is rotated by mechanical inertial energy to generate electrical power as regenerative energy when the system decelerates. Similarly, when a vehicle goes down a downward slope, the regenerative energy is generated in the same manner to generate the electric power.
Further, a unit in which the regenerative energy obtained in this manner is detected to be accumulated in a capacitor and a secondary battery is charged with the electric energy thereof is provided as a system incorporated in a vehicle, so that the control unit detects the regenerative energy in real time and the regenerative energy is automatically accumulated in the capacitor to charge the secondary battery.
However, in case of charging with the regenerative energy using the technology described in the patent reference 2, for example, the technology cannot be applied to a system without an accelerator and brake due to the reason that a switching control is performed, for example, using signals from the accelerator and the brake. On the other hand, a method can also be considered in which voltage at a motor terminal is judged and when it becomes higher than an applied voltage, regenerative energy is judged to be generated and switching is performed to charge; however, a response speed thereof is slow and efficient charging cannot be performed.
The present invention is made in view of the above problems and aims to solve a problem of a conventional apparatus in which a switching control is performed using signals of, for example, an accelerator and a brake when regenerative energy is charged and therefore, cannot be applied to a system without an accelerator and brake.